package LinkedQueues;

public interface QueueInterface<E> {

    /** 先队尾插入:
     * 插入成功返回true，插入失败返回false
     */
    boolean offer(E value);

    /**
     * 从对头获取值，并移除
     * 如果队列非空返回对头值，否则返回null
     */
    E poll();

    /**
     * 从对头获取值，不移除
     * 如果队列非空返回对头值，否则返回null
     */
    E peek();

    /**
     * 队列是否为空
     * 空则返回true,否则返回false
     */
    boolean isEmpty();

    /**
     * 判断当前容量是否充足
     */
    boolean isOverflow();
}
